using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.SGI.ERP.Entidades
{
	public class PlnctaVO
	{
		// Impedir o uso de new para esta classe
		protected PlnctaVO() { }

		// Cria uma instancia desta classe
		public static PlnctaVO CreateVO()
		{
			PlnctaVO plncta = new PlnctaVO();
			plncta.idFilialVO = FilialVO.CreateVO();
			plncta.idPlnCtaPaiVO = new PlnctaVO();
			return plncta;
		}
		public static PlnctaVO CreateVO(int idPlnCta, string plnCta)
		{
			PlnctaVO obj = CreateVO();
			obj.idPlnCta = idPlnCta;
			obj.plnCta = plnCta;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return (idPlnCta!=null?idPlnCta.ToString():"") + "-" + (plnCta!=null?plnCta.ToString():"");
		}

        public string tostring
        {
            get { return idPlnCta != -1 ? idPlnCta + " - " + plnCta : ""; }
        }

		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idPlnCta.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idPlnCta
		{
			get { return this._idPlnCta; }
			set { this._idPlnCta = value; }
		}
		private int _idPlnCta;
		public string plnCta
		{
			get { return this._plnCta; }
			set { this._plnCta = value; }
		}
		private string _plnCta;
		public bool? sintetico
		{
			get { return this._sintetico; }
			set { this._sintetico = value; }
		}
		private bool? _sintetico;
		public char natureza
		{
			get { return this._natureza; }
			set { this._natureza = value; }
		}
		private char _natureza;
		public int idFilial
		{
			get { return this._idFilial; }
			set { this._idFilial = value; 
			      if(value!=null) this.idFilialVO.idFilial = (int)value; }
		}
		private int _idFilial;
		public int? idPlnCtaPai
		{
			get { return this._idPlnCtaPai; }
			set { this._idPlnCtaPai = value; 
			      if(value!=null) this.idPlnCtaPaiVO.idPlnCta = (int)value; }
		}
		private int? _idPlnCtaPai;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public FilialVO idFilialVO
		{
			get { return this._idFilialVO; }
			set { this._idFilialVO = value; }
		}
		private FilialVO _idFilialVO;
		public PlnctaVO idPlnCtaPaiVO
		{
			get { return this._idPlnCtaPaiVO; }
			set { this._idPlnCtaPaiVO = value; }
		}
		private PlnctaVO _idPlnCtaPaiVO;
		#endregion
	}
}
